import java.util.HashMap;

public class Solution {

    public static int FirstNotRepeatingChar(String str) {
        //两个hashmap
        //第一个存储（字符：首次位置）；第二个存储（字符：次数）找到次数为1的，比较得到最小的位置，有点蠢
        //一个hashmap两次扫描。第一次存次数，第二次读次数，首次读到次数为1的，即可输出。
        char[] a = str.toCharArray();
        int v;
        HashMap<Object,Integer> count = new HashMap<Object, Integer>();
        for(int i=0; i<a.length; i++){
//            int key = Integer.valueOf(a[i]);
            if(count.containsKey(a[i])){
                v = count.get(a[i])+1;
            }else{
                v = 1;
            }
            count.put(a[i],v);
        }
        for(int i=0; i<a.length; i++){
            if(count.get(a[i])==1)
                return i;
        }
        return -1;
    }
    public static void main(String args[]){
        int k=8;
        int b = FirstNotRepeatingChar("sdfgfdsdfghfd");
        System.out.println(b);
    }

}

